home *** CD-ROM | disk | FTP | other *** search
/ PC go! 2008 April / PCgo 2008-04 (DVD).iso / interface / contents / demoversionen_3846 / 13664 / files / Data1.cab / regenserver.idl < prev    next >
Encoding:
Text File  |  2001-07-24  |  4.9 KB  |  199 lines

  1. import "oaidl.idl";
  2.  
  3. cpp_quote("#define TOOLTLIB_MAJOR        7")
  4. cpp_quote("#define TOOLTLIB_MINOR        0")
  5.  
  6. [
  7.      uuid(6A481403-E531-11CF-A115-00A024158DAF)
  8.     ,version(7.0)
  9.     ,helpfile("tcsdk.chm")
  10.     ,helpstring("TCAD 7.0 RegenServer Type Library")
  11. ]
  12.  
  13. library TcRegenServerLib
  14. {
  15.     importlib("stdole32.tlb");
  16.     importlib("stdole2.tlb");
  17.  
  18.     [
  19.          uuid(6A481306-E531-11CF-A115-00A024158DAF)
  20.         ,oleautomation
  21.         ,dual
  22.     ]
  23.  
  24.     interface ITurboCADRegenServer : IDispatch
  25.     {
  26.             /*
  27.             *    Returns the persistent class id for this RegenMethod's property section.
  28.             *    Required.
  29.             */
  30.  
  31.             [
  32.                  propget
  33.             ]
  34.             HRESULT Description(
  35.                 [out, retval] BSTR* prop
  36.                 );
  37.  
  38.             /*
  39.             *    Returns the user-visible description of this RegenMethod.
  40.             *    Required.
  41.             */
  42.  
  43.             [
  44.                  propget
  45.             ]
  46.             HRESULT    ClassID(
  47.                 [out, retval]    BSTR* prop
  48.                 );
  49.  
  50.         
  51.             /*
  52.             *     Retrieve types and names for regen properties.
  53.             *     Required even Custom Regen Object hasn't any own properties.
  54.             */
  55.             HRESULT GetPropertyInfo(
  56.                  [in, out]        VARIANT* Names
  57.                 ,[in, out]        VARIANT* Types
  58.                 ,[in, out]        VARIANT* IDs
  59.                 ,[in, out]        VARIANT* Defaults
  60.                 ,[out, retval]    long* prop
  61.                 );
  62.  
  63.             /*
  64.             *      Get the number of property pages supporting this RegenMethod.
  65.             *     Optional - can be omitted if Custom Regen Object doesn't provide any Property Pages.
  66.             */
  67.  
  68.             HRESULT GetPageInfo(
  69.                  [in]            IDispatch* AGraphic
  70.                 ,[out]            long* StockPages
  71.                 ,[in, out]        VARIANT* Names
  72.                 ,[out, retval]    long* prop
  73.                 );
  74.  
  75.             /*
  76.             *    Function called during TurboCAD start up.
  77.             *    Optional - can be omitted if Custom Regen Object doesn't need any initialisation actions.
  78.             */
  79.             HRESULT Initialize(
  80.                  [in]            IDispatch* ThisRegenMethod
  81.                 ,[out, retval]    VARIANT_BOOL* prop
  82.                 );
  83.  
  84.             /*
  85.             *    Shows Regen Method property pages.
  86.             *    Optional - can be omitted if Custom Regen Object doesn't provide any Property Pages.
  87.             */
  88.  
  89.             HRESULT    PropertyPages(
  90.                  [in]            IDispatch* ThisRegenMethod
  91.                 ,[in, out]        VARIANT* PageNumber
  92.                 ,[out, retval]    VARIANT_BOOL* prop
  93.                 );
  94.  
  95.             /*
  96.             *    Exchange and validate Property Pages Data data.
  97.             *    Optional - can be omitted if Custom Regen Object doesn't provide any Property Pages.
  98.             */
  99.  
  100.             HRESULT    PageControls(
  101.                  [in]            IDispatch* ThisRegenMethod
  102.                 ,[in]            IDispatch* AGraphic
  103.                 ,[in]            long PageNumber
  104.                 ,[in]            VARIANT_BOOL SaveProperties
  105.                 ,[out, retval]    VARIANT_BOOL* prop
  106.                 );
  107.  
  108.             /*
  109.             *    Unload/destroy Property Pages form/dialog.
  110.             *    Optional - can be omitted if Custom Regen Object doesn't provide any Property Pages.
  111.             */
  112.  
  113.             HRESULT PageDone(
  114.                  [in]            IDispatch* ThisRegenMethod
  115.                 ,[in, out]        VARIANT* PageNumber
  116.                 );
  117.  
  118.             /*
  119.             *    Function called whenever a new Custom Regen Object graphic was created.
  120.             *   Optional - can be omitted if Custom Regen Object don't need to do something with newly created graphic.
  121.             */
  122.  
  123.             HRESULT OnNewGraphic(
  124.                  [in]            IDispatch* CopyGraphic
  125.                 ,[in]            VARIANT_BOOL Copy
  126.                 ,[out, retval]    VARIANT_BOOL* prop        // False if failure
  127.                 );
  128.  
  129.             /*
  130.             *    Function called whenever a copy of a Custom Regen Object graphic is being made.
  131.             *   Optional - can be omitted if Custom Regen Object don't need to do something with copy of the graphic.
  132.             */
  133.  
  134.             HRESULT OnCopyGraphic(
  135.                  [in]            IDispatch* CopyGraphic
  136.                 ,[in]            IDispatch* SourceGraphic
  137.                 ,[in]            VARIANT* pvarMatrix
  138.                 ,[out, retval]    VARIANT_BOOL* prop        // not used now
  139.                 );
  140.  
  141.             /*
  142.             *    Notification function called after graphic property is saved.
  143.             *    Required if Custom Regen Object has own properties.
  144.             */
  145.  
  146.             HRESULT OnPropertyChanged(
  147.                  [in]            IDispatch* AGraphic
  148.                 ,[in]            long PropID
  149.                 ,[in, out]        VARIANT* ValueOld
  150.                 ,[in, out]        VARIANT* ValueNew
  151.                 );
  152.  
  153.             /*
  154.             *    Notification function called before graphic property is saved.
  155.             *   Optional - can be omitted if Custom Regen Object don't need to perform additional validateion
  156.             *   actions for propertty.
  157.             */
  158.  
  159.             HRESULT OnPropertyChanging(
  160.                  [in]            IDispatch* AGraphic
  161.                 ,[in]            long PropID
  162.                 ,[in, out]        VARIANT* ValueOld
  163.                 ,[in, out]        VARIANT* ValueNew
  164.                 ,[out, retval]    VARIANT_BOOL* prop        // True if property could be changed.
  165.                 );
  166.  
  167.             /*
  168.             *    Notification function called before graphic property is retrieved.
  169.             *    Optional.
  170.             */
  171.  
  172.             HRESULT OnPropertyGet(
  173.                  [in]            IDispatch* AGraphic
  174.                 ,[in]            long PropID
  175.                 );
  176.  
  177.             /*
  178.             *    Function called to draw graphic.
  179.             *    Optional - can be omitted if Custom Regen Object doesn't draw any non-TurboCAD objects.
  180.             */
  181.  
  182.             HRESULT Draw(
  183.                  [in]            IDispatch* AGraphic
  184.                 ,[in]            IDispatch* AView
  185.                 ,[in]            VARIANT* AMatrix
  186.                 ,[out, retval]    VARIANT_BOOL* prop           // True if we did the redraw (no further processing necessary, no children will be drawn
  187.                 );
  188.  
  189.             /*
  190.             *    Called when we need to update our object.
  191.             *    Optional.
  192.             */
  193.  
  194.             HRESULT Regen(
  195.                 [in]            IDispatch* AGraphic
  196.                 );
  197.  
  198.     };
  199. }